Although computer data is commonly shared with networked workstations, the collective computer power of a distributed-systems network remains under-utilized for computer job workload distribution. A distributed-systems network comprises a plurality of networked computer workstations. Each workstation is commonly referred to as a node. The nodes are in communication with each other through network communications protocols. A job is a computer workstation command. For each command execution, an allotment of Central Processing Unit ("CPU") and electronic memory resources is required. "Compile," "halt," and "extract" are some examples of workstation commands.
Commonly, computer jobs requested are submitted in batch-queue or job-set fashion, to a single node. The jobs are typically executed by a node on a "first-come first-served" basis. When a computer job is completed, then the next job is queued for execution. The job execution process continues until the batch queue is completed. Accordingly, batch-queue submissions take a single node many hours to complete.
Reducing the execution time for multiple job requests is particularly important for telecommunication switch testcase environments. The faster the test jobs can be executed, the faster telecommunications switches can be ready for installation. These testcase environments automate test jobs for telecommunication switch "burn-in." Examples of test jobs are database testcase extractions, package testcases for execution efficiency, testcase compilations, testcase executions, testcase execution result analysis, and testcase result database storage. These jobs can be combined and submitted to a node as a testcase set, which is a form of batch-queue submission.
To decrease the time to process job batch-queues, job workload distribution programs have been developed. But these programs are complex and cumbersome to use. Such programs have required a high-level system access to the root file system of a UNIX-based network. The root file system is an upper-level configuration layout of the network nodes. Such job workload distribution programs must query the root file system to determine whether data storage is available and whether distribution is even permitted to certain nodes.
Also, because root-level access is needed, these programs require hard-coded and application-specific network configurations. That is, the program must be tailored to the idiosyncracies of the network before it can be used. Further, root-level access is restricted to a single system administrator. When the network structure changes, due to additions or deletions of nodes, not only must the system administrator modify the network root file, but also reconfigure the distribution program to mirror the network changes.
Furthermore, when a program demands root-level access, the overall "controllability" and "granularity" characteristics of the network are adversely affected. That is, system level commands have been limited to large "work units" (low granularity). Large work units restrict the flexibility for a lower-level user--such as an application level user--to manipulate a work unit (low control level).
Workload distribution programs have also relied on electronic messaging formats to distribute jobs to other network nodes. But such electronic messaging is not robust because of susceptibility to power fluctuations. Data message records are not typically saved to a disk. Thus, a power failure or a node crash on the network jeopardizes the in-transit message-data because the information is not maintained.
Thus, a need exists for a simplified workload distribution method and apparatus that does not require root-level access to distribute job workloads across a network. Also, a workload distribution method and apparatus is desired that has a greater robustness, or ability to function or continue functioning in unexpected situations.